package com.mushuilingfeng.ddd.framework.entity;

import java.io.Serializable;

/**
 * @author
 * @date 2024/9/18
 */
public interface IDomainEntity {

    /**
     * 获取唯一标识
     *
     * @return 唯一标识
     */
    default Serializable getId() {return null;}

    /**
     * 新增保存
     */
    default void saveNew() {}

    /**
     * 更新
     */
    default void update() {
        if (null == getId()) {
            throw new IllegalArgumentException("ID值为空，更新失败！");
        }
    }

    /**
     * 删除
     */
    default void delete() {}

    /**
     * 检查参数是否合法
     */
    default void simpleCheckParams() {}
}
